/*
题目描述：
	美团点评商家端系统里，客户在商家店里消费完成后，需要开消费发票。在开据消费发票过程中需需要将阿拉伯数字转成中文大写数字。
	举例来说：200.00需要转换成贰佰元整。现需要通过程序实现转换功能，以提升商家开发票的效率。
输入：
	一维的字符串数组，数组里每一项为阿拉伯数字，
	数字保留两位小数点且最大值不超过1000000000000（万亿）；
	输入示例（注意：数组符[]也为输入项）：["200.00", "201.15"]
输出：
	转换后对应的一维数组；
样例输入
	["200.00","201.15","1015","200001010200"]
样例输出
	["贰百元整", "贰百零壹元壹角伍分", "壹千零壹十伍元整", "贰千亿零壹百零壹万零贰百元整"]
*/
package main

import (
	"fmt"
	"math"
	"regexp"
	"strconv"
)

func main() {
	var in string
	fmt.Scanln(&in)
	var number []string
	// 字符串是否开始
	isBegin := false
	// 记录字符串
	var s []rune
	for _, ch := range []rune(in) {
		if ch == '"' {
			if isBegin {
				isBegin = false
				n, _ := strconv.ParseFloat(string(s), 64)
				// 将n转换为大写
				result := AmountConvert(float64(n), false)
				number = append(number, result)
				s = nil
				continue
			} else {
				isBegin = true
				continue
			}
		}
		if isBegin {
			s = append(s, ch)
		}
	}
	fmt.Println(number)
}

func AmountConvert(p_money float64, p_Round bool) string {
	var NumberUpper = []string{"壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "零"}
	var Unit = []string{"分", "角", "圆", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟"}
	var regex = [][]string{
		{"零拾", "零"}, {"零佰", "零"}, {"零仟", "零"}, {"零零零", "零"}, {"零零", "零"},
		{"零角零分", "整"}, {"零分", "整"}, {"零角", "零"}, {"零亿零万零元", "亿元"},
		{"亿零万零元", "亿元"}, {"零亿零万", "亿"}, {"零万零元", "万元"}, {"万零元", "万元"},
		{"零亿", "亿"}, {"零万", "万"}, {"拾零圆", "拾元"}, {"零圆", "元"}, {"零零", "零"}}
	Str, DigitUpper, UnitLen, Round := "", "", 0, 0

	if p_money == 0 {
		return "零"
	}
	if p_money < 0 {
		Str = "负"
		p_money = math.Abs(p_money)
	}
	if p_Round {
		Round = 1
	} else {
		Round = 2
	}

	Digit_byte := []byte(strconv.FormatFloat(p_money, 'f', Round+1, 64)) //注意币种四舍五入
	UnitLen = len(Digit_byte) - Round

	for _, v := range Digit_byte {
		if UnitLen >= 1 && v != 46 {
			s, _ := strconv.ParseInt(string(v), 10, 0)
			if s != 0 {
				DigitUpper = NumberUpper[s-1]

			} else {
				DigitUpper = "零"
			}
			Str = Str + DigitUpper + Unit[UnitLen-1]
			UnitLen = UnitLen - 1
		}
	}

	for i, _ := range regex {
		reg := regexp.MustCompile(regex[i][0])
		Str = reg.ReplaceAllString(Str, regex[i][1])
	}

	if string(Str[0:3]) == "元" {
		Str = string(Str[3:len(Str)])
	}

	if string(Str[0:3]) == "零" {
		Str = string(Str[3:len(Str)])
	}
	return Str
}
